<html>
<head>
  <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>

  <title>Retira comentários de código-fonte JavaScript</title>
</head>

<body>
<form name="srcform">
  <table>
    <tr>
      <td><b>Código-fonte:</b></td>
      <td></td>
      <td><b>Resultado:</b></td>
    </tr>
    <tr>
      <td><textarea name="sourcein" rows="30" cols="60"></textarea></td>
      <td width="5%"></td>
      <td><textarea name="sourceout" rows="30" cols="60"></textarea></td>
    </tr>

    <tr>
      <td><input type="button" value="Processar" onclick="processForm();"></td>
    </tr>
    <tr>
      <td><b>Resultado:</b></td>
    </tr>
    <tr>
      <td><span id="result"></td>
    </tr>
  </table>
</form>

<script language="JavaScript">
function processForm()
{
  try
  {
    var source = document.srcform.sourcein.value;
    document.srcform.sourceout.value = stripComments(source);
  }
  catch (ex)
  {
    alert(ex);
  }
}

function stripComments(source)
{
  var slcmt = new RegExp("//.*$", "mg");
  var mlcmt = new RegExp("/\\*[^(\\*/)]\\*/");

  // Retira comentarios de uma única linha
  var interm = source.replace(slcmt, "");

  // Retira comentários de múltimas linhas
  //var result = interm.replace(mlcmt);
  var result = interm;

  return result;
}

</script>

</body>
</html>
